//
// C++ Interface: definitions
//
// Description: 
//
//
// Author: Os3 s.r.l. <xgui@os3.it>, (C) 2005
//
// Copyright: See COPYING file that comes with this distribution
//
//

#ifndef _XGUI_DEFINITIONS_H_
#define _XGUI_DEFINITIONS_H_

#include "xguifwd.h"
#include <string>

namespace xgui
{
	enum
	{
		keyShiftMask = 0x00000001,
		keyControlMask = 0x00000002,
		keyAltMask = 0x00000004,

		mouseLeftMask = 0x00000008,
		mouseRightMask = 0x00000010,
		mouseMiddleMask = 0x00000020,
	};

	bool const EVT_BLOCK = false;
	bool const EVT_PROPAGATE = true;

	enum PropertyType { PROPERTY_NOT_FOUND, PROPERTY_READ_ONLY, PROPERTY_READ_WRITE };

    %feature("docstring","**DESCRIPTION**\n\nInformation class used to describe a file type with its extensions (used in :meth:`xgui.Master.OpenFileDialog()` and :meth:`xgui.Master.SaveFileDialog()` functions).\n\n**CONSTRUCTORS**\n\n") FileExtension;
	struct FileExtension {
		std::string name;
		std::string extension;
		%feature("docstring","with parameters *std::string name* (the file type (e.g.: \"Image files\"))  and *std::string extension* (a semicolon separated list of file extensions (e.g: \"*.jpg;*.png;*.bmp\")) initializes a file extension structure with the specified information, otherwise initializes a file extension with just the \"All files\" file type\n\n") FileExtension;
		FileExtension(std::string const &n, std::string const &ext);
		FileExtension();
	};
}

#endif



